#include<stdio.h>
#include<unistd.h>
#include<signal.h>
#include<sys/wait.h>
#include<stdlib.h>
//void handler(int sig)
//{
// printf("got a signal!!: %d\n",sig);
//}

int main()
{
 
//   signal(2,handler);

//  while(1)
//  {
//    printf("I am a process,I am waiting signal!\n");
//    sleep(5);
//   // int i = 10/0;
//    int *p=NULL;
//    *p=100;
//      
//  }
  if(fork()==0)
  {
    //child
    printf("I am child,pid: %d\n",getpid()); 
    sleep(3);
    int a= 1/0;
    exit(-1);
  }
  int status=0;
  waitpid(-1,&status,0);
  printf("exit code: %d,coredump: %d,signal: %d\n",(status>>8)&0xff,(status>>7)&0x01,(status&0x7f));
  return 0;
}
